#ifndef DECOMPOSITION_TASK_H
#define DECOMPOSITION_TASK_H
#include <QString>
#include <enum_type.h>
#include <QDateTime>
#include <QReadWriteLock>
#pragma execution_character_set("utf-8")
class Decomposition_Task
{
public:
    Decomposition_Task();
    void init(QString task_id,QString taskdata);        //初始化
    void setProblemStatus(Ctask_status status);         //设置任务状态
    void setBelongComputer(QString computerId);         //设置电脑ID
    void setStartTime(QString Time);                    //设置开始时间
    void setCreateTime(QString Time);                   //设置创建时间
    void setFinishTime(QString Time);                   //设置结束时间
    void setCaculateTime(QString time);                 //设置计算耗时
    void setTaskResult(QString result);                 //设置任务结果
    void setBelongTaskID(QString ID);                   //设置主任务ID
    void setTaskData(QString taskdata);                 //设置任务信息
    void setTaskType(QString tasktype);                 //设置任务类型
    QString getTaskid();                                //任务ID
    QString getTaskData();                              //获取任务信息
    Ctask_status getProblemStatus();                    //获取任务状态
    QString getBelongComputer();                        //获取电脑ID
    QString getStartTime();                             //获取开始时间
    QString getCreateTime();                            //获取创建时间
    QString getFinishTime();                            //获取结束时间
    QString getCaculateTime();                          //获取计算耗时
    QString getTaskResult();                            //获取任务结果
    QString getBelongTaskID();                          //获取主任务ID
    QString getTaskType();                              //获取任务类型
    QReadWriteLock     DTask_Lock;                      //读写锁
//private:
    QString task_data="";                               //任务信息
    QString task_id="";                                 //任务ID
    Ctask_status problem_status =task_free;             //任务状态
    QString problem_type="";                            //任务类型
    QString belong_computer_id="";                      //任务电脑ID
    QString starttime="";                               //任务开始时间
    QString create_time="";                             //任务创建时间
    QString finish_time="";                             //任务结束时间
    QString   caculate_time=0;                          //任务耗费时间
    QString   task_result="";                           //任务结果
    QString   belong_caculate_task_id="";               //任务属于ID

};

#endif // DECOMPOSITION_TASK_H
